{{!
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
}}
<div id="assign-masters">
{{#if view.showTitle}}
  <h2>{{view.title}}</h2>
{{/if}}
  <div class="alert alert-info">
    {{{view.alertMessage}}}
  </div>
  {{#each msg in controller.generalErrorMessages}}
    <div class="alert alert-error">{{msg}}</div>
  {{/each}}
  {{#each msg in controller.generalWarningMessages}}
      <div class="alert alert-warning">{{msg}}</div>
  {{/each}}
  {{#if controller.isLoaded}}
    <div class="assign-masters row-fluid">
      <div class="select-hosts span7">
        <div class="row-fluid">
          {{#if showCurrentHost}}
            <div class="span12 control-group mlc">
              <div class="row-fluid">
                <div class="span4"><span class="pull-right control-label">{{t services.reassign.step2.currentHost}}</span>
                </div>
                <div class="span8"><span>{{currentHostId}}</span></div>
              </div>
            </div>
          {{/if}}
          <div class="clearfix"></div>
          <div class="row-fluid">
            <div class="span12 control-group">
              <form class="form-horizontal" autocomplete="off">
                <!-- View for array controller -->
                {{#each controller.additionalHostsList}}
                  <div class="row-fluid additional-hosts-list">
                    <div class="span5">
                      <label class="pts pull-right">
                        {{label}}
                      </label>
                    </div>
                    <div class="span7 host-cell">
                      {{host}}
                    </div>
                  </div>
                {{/each}}
                {{#each servicesMastersToShow}}
                  <div class="row-fluid">
                    <div class="span5">
                      <div class="control-group">
                        <label class="pts pull-right">
                          {{#if showCurrentPrefix}}
                            {{t common.current}}
                          {{/if}}
                          {{#if showAdditionalPrefix}}
                            {{t common.additional}}
                          {{/if}}
                          {{display_name}}:
                        </label>
                      </div>
                    </div>
                    <div class="span7">
                      {{#if isServiceCoHost}}
                        <div class="hostName">
                          {{selectedHost}}<i class="icon-asterisks">&#10037;</i>
                        </div>
                      {{else}}
                        <div {{bindAttr class="errorMessage:error: warnMessage:warning: :control-group"}}>
                          {{#if view.shouldUseInputs}}
                            {{view App.InputHostView
                            componentBinding="this"
                            disabledBinding="isInstalled" }}
                          {{else}}
                            {{view App.SelectHostView
                            componentBinding="this"
                            disabledBinding="isInstalled"
                            optionValuePath="content.host_name"
                            optionLabelPath="content.host_info" }}
                          {{/if}}
                          {{#if showAddControl}}
                            {{view App.AddControlView componentNameBinding="component_name"}}
                          {{/if}}
                          {{#if showRemoveControl}}
                            {{view App.RemoveControlView componentNameBinding="component_name" serviceComponentIdBinding="serviceComponentId"}}
                          {{/if}}

                          <span rel="popover" title="Warning" {{bindAttr data-content="warnMessage"}}>
                            {{#if warnMessage}}
                              <i class="icon-warning-sign"></i>
                            {{/if}}
                          </span>
                          <span rel="popover" title="Error" {{bindAttr data-content="errorMessage"}}>
                            {{#if errorMessage}}
                              <i class="icon-exclamation-sign"></i>
                            {{/if}}
                          </span>
                        </div>
                      {{/if}}
                    </div>
                  </div>
                {{/each}}
              </form>
            </div>
          </div>
        </div>
      </div>

      <div class="host-assignments span5">
        {{#each masterHostMapping}}
          <div class="mapping-box round-corners well">
            <div class="hostString"><span>{{hostInfo}}</span></div>
            {{#each masterServicesToDisplay}}
              <span {{bindAttr class="isInstalled:assignedService:newService :round-corners"}}>{{display_name}}</span>
            {{/each}}
          </div>
        {{/each}}

        {{#if remainingHosts}}
          <div class="remaining-hosts round-corners well">
            <span><strong>{{remainingHosts}}</strong> {{t installer.step5.attention}}</span></div>
        {{/if}}
      </div>
      <div class="clearfix"></div>
    </div>
  {{else}}
    {{view App.SpinnerView}}
  {{/if}}
  <div class="btn-area">
    {{#if view.isBackButtonVisible}}
      <button type="button" class="btn pull-left installer-back-btn" {{bindAttr disabled="App.router.btnClickInProgress"}} {{action back}}>
        &larr; {{t common.back}}
        {{#if App.router.backBtnClickInProgress}}
          {{view App.SpinnerView tagName="span" classNames="service-button-spinner"}}
        {{/if}}
      </button>
    {{/if}}
    <button type="button" class="btn btn-success pull-right" {{bindAttr disabled="nextButtonDisabled"}} {{action submit target="controller"}}>
      {{#if App.router.nextBtnClickInProgress}}
        {{view App.SpinnerView tagName="span" classNames="service-button-spinner"}}
      {{/if}}
      {{view.acceptButtonText}}
    </button>
    {{#if view.isCancelButtonVisible}}
      <button class="btn pull-right mrm" {{action onCancel target="controller"}}>{{t common.cancel}}</button>
    {{/if}}
  </div>
</div>
